package com.osfw.dbadminer.entity.config;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.osfw.framework.core.entity.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 数据库操作权限范围配置
 */
@Data
@Accessors(chain = true)
public class DbaConfigScope extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /* 操作范围主键 */
    @TableId(value = "scope_id_", type = IdType.ASSIGN_ID)
    private Long scopeId;

    /* 连接ID */
    @TableField(value = "connect_id_")
    private Long connectId;

    /* 连接ID */
    @TableField(exist = false)
    private Long connectName;

    /* 数据库名称 */
    @TableField(value = "database_name_")
    private String databaseName;

    /* 数据表名称 */
    @TableField(value = "datatable_name_")
    private String datatableName;

    /* 用户ID */
    @TableField(value = "user_id_")
    private Long userId;

    /* 用户姓名 */
    @TableField(exist = false)
    private String userName;

    /* 用户手机号 */
    @TableField(exist = false)
    private String phonenumber;

    /* 部门ID */
    @TableField(exist = false)
    private Long deptId;

    /* 部门名称 */
    @TableField(exist = false)
    private String deptName;

    /* 查询操作权限（0-无，1-有） */
    @TableField(value = "query_permit_")
    private Integer queryPermit;

    /* 查询操作是否审批（0-否，1-是） */
    @TableField(value = "query_approval_")
    private Integer queryApproval;

    /* 添加操作权限（0-无，1-有） */
    @TableField(value = "add_permit_")
    private Integer addPermit;

    /* 添加操作是否审批（0-否，1-是） */
    @TableField(value = "add_approval_")
    private Integer addApproval;

    /* 修改操作权限（0-无，1-有） */
    @TableField(value = "modify_permit_")
    private Integer modifyPermit;

    /* 修改操作是否审批（0-否，1-是） */
    @TableField(value = "modify_approval_")
    private Integer modifyApproval;

    /* 删除操作权限（0-无，1-有） */
    @TableField(value = "delete_permit_")
    private Integer deletePermit;

    /* 删除操作是否审批（0-否，1-是） */
    @TableField(value = "delete_approval_")
    private Integer deleteApproval;

    /* 导入操作权限（0-无，1-有） */
    @TableField(value = "import_permit_")
    private Integer importPermit;

    /* 导入操作是否审批（0-否，1-是） */
    @TableField(value = "import_approval_")
    private Integer importApproval;

    /* 导出操作权限（0-无，1-有） */
    @TableField(value = "export_permit_")
    private Integer exportPermit;

    /* 导出操作是否审批（0-否，1-是） */
    @TableField(value = "export_approval_")
    private Integer exportApproval;

    /* 其他操作权限（0-无，1-有） */
    @TableField(value = "other_permit_")
    private Integer otherPermit;

    /* 其他操作是否审批（0-否，1-是） */
    @TableField(value = "other_approval_")
    private Integer otherApproval;

    /* 删除标志（0-代表存在，2-代表删除） */
    @TableField(value = "del_flag_", fill = FieldFill.INSERT)
    private String delFlag;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("scopeId", getScopeId())
                .append("connectId", getConnectId())
                .append("databaseName", getDatabaseName())
                .append("datatableName", getDatatableName())
                .append("userId", getUserId())
                .append("addPermit", getAddPermit())
                .append("addApproval", getAddApproval())
                .append("modifyPermit", getModifyPermit())
                .append("modifyApproval", getModifyApproval())
                .append("deletePermit", getDeletePermit())
                .append("deleteApproval", getDeleteApproval())
                .append("importPermit", getImportPermit())
                .append("importApproval", getImportApproval())
                .append("exportPermit", getExportPermit())
                .append("exportApproval", getExportApproval())
                .append("queryPermit", getQueryPermit())
                .append("queryApproval", getQueryApproval())
                .append("otherPermit", getOtherPermit())
                .append("otherApproval", getOtherApproval())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createByName", getCreateByName())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateByName", getUpdateByName())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

}
